1. Technical Field
The present invention relates to an improved data processing system and, more particularly, to an improved method of updating firmware.
2. Description of Related Art
Currently, many of the more complex computers that are used for services such as web servers are multiprocessor computers. These computers often have a “service processor” that is used to perform many tasks that affect the computer as a whole, such as, for example, monitoring the temperature of the computer so that the exhaust fan may be turned on and off at appropriate times. The service processor may also monitor other resources within the system shared by the many different host operating systems that may be executing on the computer.
The service processor, during a power on event to the computer, executes a variety of tasks contained in firmware. One of the functions performed by the service processor during this power on event is to broadcast the power on event to all tasks, including the system power control network (SPCN) task. When the SPCN task receives the power on event, it will collect the firmware level information on the SPCN card while the system is booting up. At this time, the SPCN task will read the SPCN firmware level (i.e. version) on the service processor flash. If that firmware level does not match with the level of firmware on the SPCN card, then the SPCN task will transmit a new SPCN firmware image to the SPCN card while the OS is running. This SPCN firmware typically takes 45 minutes to complete for a four (4) drawer computer system. If there are more drawers in the system, then it will take longer than 45 minutes to update. Currently, the operating system cannot be loaded until this firmware update is finished. Thus, the user may have to wait an hour or more before the system is usable. Therefore, it would be desirable to have a method of updating the SPCN firmware that allowed the computer to be usable for other tasks sooner than current systems.